restore-to-new-project.tsx 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import { useParams } from 'common'
  2. import { PageContainer } from 'ui-patterns/PageContainer'
  3. import {
  4. PageHeader,
  5. PageHeaderMeta,
  6. PageHeaderNavigationTabs,
  7. PageHeaderSummary,
  8. PageHeaderTitle,
  9. } from 'ui-patterns/PageHeader'
  10. import { PageSection, PageSectionContent } from 'ui-patterns/PageSection'
  11. import DatabaseBackupsNav from '@/components/interfaces/Database/Backups/DatabaseBackupsNav'
  12. import { RestoreToNewProject } from '@/components/interfaces/Database/RestoreToNewProject/RestoreToNewProject'
  13. import DatabaseLayout from '@/components/layouts/DatabaseLayout/DatabaseLayout'
  14. import DefaultLayout from '@/components/layouts/DefaultLayout'
  15. import { UnknownInterface } from '@/components/ui/UnknownInterface'
  16. import { useIsFeatureEnabled } from '@/hooks/misc/useIsFeatureEnabled'
  17. import type { NextPageWithLayout } from '@/types'
  18. const RestoreToNewProjectPage: NextPageWithLayout = () => {
  19. const { ref } = useParams()
  20. const { databaseRestoreToNewProject } = useIsFeatureEnabled(['database:restore_to_new_project'])
  21. if (!databaseRestoreToNewProject) {
  22. return <UnknownInterface urlBack={`/project/${ref}/database/backups/scheduled`} />
  23. }
  24. return (
  25. <>
  26. <PageHeader>
  27. <PageHeaderMeta>
  28. <PageHeaderSummary>
  29. <PageHeaderTitle>Database Backups</PageHeaderTitle>
  30. </PageHeaderSummary>
  31. </PageHeaderMeta>
  32. <PageHeaderNavigationTabs>
  33. <DatabaseBackupsNav active="rtnp" />
  34. </PageHeaderNavigationTabs>
  35. </PageHeader>
  36. <PageContainer>
  37. <PageSection>
  38. <PageSectionContent>
  39. <div className="space-y-8">
  40. <RestoreToNewProject />
  41. </div>
  42. </PageSectionContent>
  43. </PageSection>
  44. </PageContainer>
  45. </>
  46. )
  47. }
  48. RestoreToNewProjectPage.getLayout = (page) => (
  49. <DefaultLayout>
  50. <DatabaseLayout title="Backups">{page}</DatabaseLayout>
  51. </DefaultLayout>
  52. )
  53. export default RestoreToNewProjectPage